#ifndef SOKOBAN_H
#define SOKOBAN_H

#define SOKOBAN_MAP_WIDTH 9
#define SOKOBAN_MAP_HEIGHT 9

typedef enum {
    TILE_EMPTY,
    TILE_WALL,
    TILE_FLOOR,
    TILE_BOX,
    TILE_TARGET,
    TILE_PLAYER,
} TileType;

extern TileType sokobanMap[SOKOBAN_MAP_HEIGHT][SOKOBAN_MAP_WIDTH];

void Sokoban_Init(void);
void Sokoban_HandleInput(const char *cmd);
void Sokoban_Update(void);
void Sokoban_Render(void);

#endif